//实现一个单链表，这里的头结点相当于虚拟头结点，无论链表是否有加入数据，初始都创建这个头结点
//使用嵌套类来实现
template <class Item>
class List
{
private:
    class Node
    {
      Item item;  
      Node* next;
      Node(int x=0):item(x),next(nullptr){} //创建结点用的
    };
//方法
public:
    Node* front;
    List(){Node* head=new Node();front=head;}
    Item top();//获取最后一个数据
    Item getIelm(); //获取第i个元素
    bool Insert_back(Item val);//插入到末尾
    bool Insert_n(Item val);//插入到第n个
    bool Pop(); //弹出尾部
    bool Delete_n(); //弹出第n个
    bool Delete_all();   //删除整张表
};

template<class Item>
Item top()
{
    Node* cur=front;
    while(cur->next)
        cur=cur->next;
    return cur->item;
}
